package com.zh.excel.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.zh.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("账户信息实体类")
@TableName("virtual_recharge_trans")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class VirtualRechargeTrans extends BaseEntity{

  private static final long serialVersionUID = -1918746432622962842L;

  @ApiModelProperty(value = "主键", name = "id")
  @TableId(value = "id", type = IdType.AUTO)
  private Long id;
  @ApiModelProperty(value = "交易日期", name = "transDate")
  private String transDate;
  @ApiModelProperty(value = "交易时间", name = "transTime")
  private String transTime;
  @ApiModelProperty(value = "机构号", name = "branchno")
  @TableField(value = "branchno")
  private String branchNo;
  @ApiModelProperty(value = "机构名称", name = "branchName")
  private String branchName;
  @ApiModelProperty(value = "代理商号", name = "agentno")
  @TableField(value = "agentno")
  private String agentNo;
  @ApiModelProperty(value = "代理商名称", name = "agentName")
  private String agentName;
  @ApiModelProperty(value = "商户编号", name = "merchNo")
  @TableField(value = "merchno")
  private String merchNo;
  @ApiModelProperty(value = "商户名称", name = "merchName")
  private String merchName;
  @ApiModelProperty(value = "虚拟账户", name = "cardNo")
  @TableField(value = "cardno")
  private String cardNo;
  @ApiModelProperty(value = "交易类型(1-单笔充值 2-批量充值)", name = "transType")
  private Integer transType;
  @ApiModelProperty(value = "交易金额", name = "amount")
  private Float amount;
  @ApiModelProperty(value = "交易流水号", name = "traceNo")
  @TableField(value = "traceno")
  private String traceNo;
  @ApiModelProperty(value = "交易状态(1-处理中 2-交易成功 3-交易失败)", name = "status")
  private Integer status;
  @ApiModelProperty(value = "操作员", name = "loginName")
  private String loginName;
  @ApiModelProperty(value = "充值前金额", name = "amountBefore")
  private Float amountBefore;
  @ApiModelProperty(value = "充值后金额", name = "amountAfter")
  private Float amountAfter;
  @ApiModelProperty(value = "原交易金额", name = "transAmount")
  private Float transAmount;
  @ApiModelProperty(value = "原交易手续费", name = "transFee")
  private Float transFee;
  @ApiModelProperty(value = "原交易类型", name = "typeCode")
  private String typeCode;
  @ApiModelProperty(value = "原交易订单号", name = "transRefNo")
  @TableField(value = "trans_refno")
  private String transRefNo;
  @ApiModelProperty(value = "录入时间", name = "addTime")
  private String addTime;
  @ApiModelProperty(value = "备注", name = "remark")
  private String remark;
  @ApiModelProperty(value = "付款状态0-待支付,1-支付成功 2-支付失败 3-支付未完成", name = "payStatus")
  private Integer payStatus;
  @ApiModelProperty(value = "付款说明", name = "payMsg")
  private String payMsg;
  @ApiModelProperty(value = "提现方式(1-手机APP 2-接口 3-后台)", name = "payType")
  private Integer payType;
  @ApiModelProperty(value = "批次号", name = "batchNo")
  @TableField(value = "batchno")
  private String batchNo;
  @ApiModelProperty(value = "交易地址", name = "address")
  private String address;
  @ApiModelProperty(value = "银行账户", name = "accountNo")
  @TableField(value = "accountno")
  private String accountNo;
  @ApiModelProperty(value = "账户户名", name = "accountName")
  private String accountName;
  @ApiModelProperty(value = "银行编号", name = "bankNo")
  @TableField(value = "bankno")
  private String bankNo;
  @ApiModelProperty(value = "银行名", name = "bankName")
  private String bankName;
  @ApiModelProperty(value = "确认时间", name = "processTime")
  private String processTime;
  @ApiModelProperty(value = "代付类型：1-T+0 2-T+1", name = "dfType")
  private Integer dfType;
  @ApiModelProperty(value = "手机号码", name = "mobile")
  private String mobile;
  @ApiModelProperty(value = "银行类型", name = "bankType")
  private String bankType;
  @ApiModelProperty(value = "渠道商户编号", name = "channelMerchantNo")
  @TableField(value = "channel_merchno")
  private String channelMerchantNo;
  @ApiModelProperty(value = "代付类型:1-余额代付  3-垫资代付", name = "paymentType")
  private Integer paymentType;
  @ApiModelProperty(value = "渠道编码", name = "channelCode")
  private String channelCode;
  @ApiModelProperty(value = "1-余额代付 2-垫资代付", name = "payMode")
  private Integer payMode;

  @ApiModelProperty(value = "总笔数", name = "num")
  @TableField(exist = false)
  private Integer num;
  @ApiModelProperty(value = "总手续费", name = "fee")
  @TableField(exist = false)
  private Float fee;
}
